import store from '@/store'

export default {
    parseUrl(page, param) {
        let params = ''
        if (param) {
            params = '?'
            for (let x in param) {
                params += (params === '?' ? '' : '&') + x + '=' + param[x]
            }
        }
        return `/pages/${page}/index${params}`
    },
    push(page, param) {
        let url = this.parseUrl(page, param)
        uni.navigateTo({
            url
        })
    },
    replace(page, param) {
        let url = this.parseUrl(page, param)
        uni.redirectTo({
            url
        })
    },
    switchTab(page, param) {
        let url = this.parseUrl(page, param)
        uni.switchTab({
            url
        })
    },
    pushCheck(page, param) {
        if (!store.state.token) {
            this.push('login')
            return
        }
        this.push(page, param)
    },
    replaceCheck(page, param) {
        if (!store.state.token) {
            this.push('login')
            return
        }
        this.replace(page, param)
    },
    back() {
        let curPages = getCurrentPages()
        if (curPages.length > 1) {
            uni.navigateBack({
                delta: 1
            })
        } else {
            uni.reLaunch({
                url: '/pages/award/index'
            })
        }
    },
    index() {
        uni.reLaunch({
            url: '/pages/award/index'
        })
    },
    web(url, title) {
		uni.navigateTo({
			url:`/pages/web/index?title=${title}&url=${encodeURIComponent(url)}`
		})
        // this.push('web', {
        //     title,
        //     url: encodeURIComponent(url)
        // })
    },
    login() {
        const pages = getCurrentPages()
        const page = pages[pages.length - 1]
        if (page.route === 'pages/login/index' || page.route === 'pages/award/index') {
            return
        }
        this.push('login')
    }
}
